Touch gestures related to interaction with contacts in a business data system

ABSTRACT

A business data system generates a user interface display showing a business data record. The business data system receives a touch gesture user input manipulating a contact within the business data system. The business data system manipulates the contact based on the touch gesture user input.

BACKGROUND

There are a wide variety of different types of business data systems.Some such systems include customer relations management (CRM) systems,enterprise resource planning (ERP) systems, line-of-business (LOB)applications, and other business systems. These types of systems oftenenable creation and maintaining of business data records. Some of theserecords include customer records that have details about customers,vendor records that include details of vendors, sales records, salesproposals, quotes, order records, records that contain product orservice information, and records related to business contacts, amongmany others. The system can also include workflows that enable users toperform various tasks and workflows using the business data system.

An example of a workflow provided in some business data systems is onethat allow(s) users or organizations to track various businessopportunities. For instance, if there is an opportunity to make a saleof products or services to another organization, the business datasystem allows users to enter information that may be helpful inconverting that opportunity into an actual sale. Similarly, some suchsystems allow many other types of tasks or workflows to be performed aswell. For instance, some systems allow users to prepare a quote for apotential customer. Then, when the customer accepts the terms of thequote, the user can convert the quote into an actual order. These aremerely two examples of a wide variety of different types of tasks andworkflows that can be performed within a business data system.

In performing these types of tasks and workflows, some users may wish tocontact other people associated with the business data records beingoperated on. For instance, where a customer has a primary contact, itmay be that the user wishes to call or otherwise communicate with thatperson in order to discuss the terms of a proposal or order. Therefore,some business data systems allow a user to search for contacts, andcommunicate with a given contact.

The use of mobile devices is also increasing rapidly. For instance, somemobile devices include smart phones, cellular telephones, and tabletcomputers, to name a few. These types of devices often have differenttypes of user input mechanisms than desktop computers. For example, adesktop computer may have user interface displays with user inputmechanisms that can be actuated by a point and click device (such amouse or track ball) or a hardware keyboard. However, mobile devicesoften have touch sensitive screens. This enables a user to actuate userinput mechanisms using touch gestures, such as by using a finger, astylus, or other device.

The discussion above is merely provided for general backgroundinformation and is not intended to be used as an aid in determining thescope of the claimed subject matter.

SUMMARY

A business data system generates a user interface display showing abusiness data record. The business data system receives a touch gestureuser input to manipulate a contact within the business data system. Thebusiness data system manipulates the contact based on the touch gestureuser input.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter. The claimed subject matter is not limited to implementationsthat solve any or all disadvantages noted in the background.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of one illustrative business data environment.

FIG. 2A is a flow diagram of one embodiment of the operation of thesystem shown in FIG. 1 in manipulating contact information based on atouch gesture.

FIG. 2B is a flow diagram illustrating one embodiment of the operationof the system shown in FIG. 1 in manipulating a contact, within abusiness record, using touch gestures.

FIGS. 3A-3F show exemplary user interface displays.

FIG. 4 shows one embodiment of the system shown in FIG. 1 in differentarchitectures.

FIGS. 5-9 illustrate various mobile devices.

FIG. 10 is a block diagram of one illustrative computing environment.

DETAILED DESCRIPTION

FIG. 1 shows one illustrative embodiment of a business data architecture90. Business data architecture 90 includes CRM system 100, CRM datastore 102 and user device 104. User device 104 is shown generating userinterface displays 106 for interaction by user 108. While CRM system 100can be any business data system (such as a CRM system, an ERP system, anLOB system, or another business data application or business datasystem) it is described herein as a CRM system, for the sake of exampleonly. CRM system 100 illustratively includes processor 110, userinterface component 112, communication component 114, workflow/taskcomponent 118 and other CRM components 120.

Processor 110 is illustratively a computer processor with associatedmemory and timing circuitry (not separately shown). It is a functionalpart of CRM system 100 and is activated by, and facilitates thefunctionality of, the other components and items in CRM system 100. Itwill also be noted that while only a single processor 110 is shown,processor 110 can actually be multiple different computer processors aswell. In addition, the multiple different computer processors used bysystem 100 can be local to system 100, or remote from system 100, butaccessible by system 100.

User interface component 112 illustratively generates user interfacedisplays with user input mechanisms that can be actuated by user 108.The user interface displays 106 (that user 108 interacts with) can begenerated by user interface component 112 in CRM system 100 and passedto device 104 where they can be displayed (by device 104, as userinterface displays 106) for interaction by user 108.

Communication component 114 illustratively facilitates communicationamong various users of CRM system 100, or between users of CRM system100 and other individuals who may not necessarily be users of system100. For instance, if user 108 wishes to communicate with a contact whomay not necessarily have access to CRM system 100 (such as by initiatinga phone call, an instant message, etc.), communication component 114illustratively facilitates this type of communication. Therefore,communication component 114 can illustratively facilitate emailcommunication, telephone or cellular telephone communication, instantmessage communication, chat room communication, or other types ofcommunication.

Workflow/task component 118 illustratively uses user interface component112 to generate user interface displays 106 so that user 108 can performtasks and carryout workflow within CRM system 100. For instance,workflow/task component 118 illustratively allows user 108 to addcontact information to CRM system 100, to track opportunities withinsystem 100, to convert quotes to orders, or to input various other typesof information or perform other tasks or workflows.

Other CRM components 120 illustratively provide the functionality forother things that can be done in CRM system 100. There are a widevariety of other things that users can do within CRM system 100, andthese various functions are provided by other components 120.

CRM system 100 has access to CRM data store 102. CRM data store 102illustratively stores a variety of different business data records.While data store 102 is shown as a single data store, it can be multipledifferent data stores. It can be local to system 100 or remotetherefrom. Where it includes multiple different data stores, they canall be local to or remote from system 100, or some can be local whileothers are remote.

The data records can include, by way of example only, proposals 124,opportunities 126, quotes 128, customer data records 130, orders 132,product/service information 134, vendor records 136, contacts 138,workflows 140, and other business data records 142. Each of the businessdata records may be an object or entity, or another type of record. Therecords can include links to other records, or stand by themselves. Allof these types of structures, and others are contemplated herein.

Proposals 124 illustratively include business information for a proposalthat can be made to a customer. Opportunities 126 illustratively includea wide variety of different types of information (some of which isdescribed below with respect to FIGS. 3A-3F) that enable user 108 totrack a sales opportunity within CRM system 100. Quotes 128illustratively include information defining quotes that can be providedto customers. Customers 130 include customer information, such ascontact information, address, billing information, etc. for differentcustomers. Orders 132 illustratively include order information thatreflects orders that have actually been made by various customers.Product/service information 134 illustratively includes information thatdescribes products or services in CRM system 100. Vendors 136illustratively include information describing vendors that are used bythe organization in which CRM system 100 is deployed. Contacts 138illustratively include contact information for various people that areeither users of CRM system 100, or that are related to any of the otherbusiness data records in CRM data store 102 (for instance they can becontacts at vendors, customers, other users, etc.). Workflows 130illustratively define the various workflows that user 108 can performwithin CRM system 100.

The workflows can take a wide variety of different forms. For instance,they may simply be data entry workflows, workflows posting informationto a ledger, workflows fleshing out proposals or quotes, or a widevariety of other things. In any case, CRM system 100 accesses workflows140 in order to generate the user interface displays 106 that can bemanipulated by user 108, in order to perform the different workflows.

User device 104 illustratively includes user interface component 122,client CRM system 144, and processor 146. Client CRM system 144 isillustratively used by user device 104 in order to access CRM system100. Of course, client CRM system 144 can be a stand alone system aswell, in which case it has access to CRM data store 102, or a differentCRM data store. As described herein, however, it is simply used in orderto access CRM system 100. This is but one option.

User interface component 122 illustratively generates the user interfacedisplays 106 on user device 104. In the embodiment described herein,device 104 has a touch sensitive user interface display screen.Therefore, user interface component 122 illustratively generates thedisplays for display on the user interface display screen. The displays106 have user input mechanisms 107 that can be actuated using touchgestures by user 108.

Processor 146 is illustratively a computer processor with associatedmemory and timing circuitry (not separately shown). Processor 146 isillustratively a functional part of device 104 and is activated by, andfacilitates the functionality of, the other systems, components anditems in device 104. While processor 146 is shown as a single processor,it could be multiple processors as well.

As briefly discussed above, user interface displays 106 areillustratively user interface displays that are provided for interactionby user 108. User input mechanisms 107 can be a wide variety ofdifferent types of user input mechanisms. For instance, they can bebuttons, icons, text boxes, dropdown menus, soft keyboards or virtualkeyboards or keypads, links, check boxes, active tiles that function asa link to underlying information and that actively or dynamically showinformation about the underlying information or a wide variety of otheruser input mechanisms that can be actuated using touch gestures.

FIG. 2A is a flow diagram illustrating one embodiment of the operationof the architecture shown in FIG. 1 in manipulating contacts using touchgestures within CRM system 100. User 108 first illustratively providesan input indicating that he or she wishes to access CRM system 100. Thiscan launch client CRM system 144 which provides access to CRM system100, or it can launch CRM system 100 and provide direct or indirectaccess. In response, CRM system 100 uses user interface component 112 togenerate a user interface display 106 that displays a wall or other CRMdisplay. The CRM display illustratively includes user input mechanisms107 that allow user 108 to manipulate them and thus control andmanipulate CRM system 100.

FIG. 3A is one illustrative example of a user interface display 200 thatshows a wall or a CRM start screen. Display 200 is shown on user device202 which is illustratively a tablet computer. Tablet computer 202illustratively includes touch sensitive display screen 204. Of course,it will be noted that device 202 could be any other type of device thathas a touch sensitive display screen. Start screen (or wall) 200 isshown with a plurality of tiles, or icons 206.

In the embodiment shown in FIG. 3A, the icons (or tiles) are dividedgenerally into two different sections. The first section is a personalsection 208, and the second section is a business section 210. Thesesections are exemplary only and may or may not be used. The tiles insection 208 are illustratively user actuatable links which, whenactuated by a user, cause a corresponding function to happen. Forexample, when either one of a pair of browser tiles 210 or 212 areactuated by the user, they launch a browser. When store tile 214 isactuated by the user, it launches an on-line store application orportal. Other tiles are shown for navigating to the control panel, forviewing weather, for viewing stock information of identified companies,or that indicate popular browsing sessions. Of course, the tiles shownin the personal section 208 are exemplary only and a wide variety ofother tiles could be shown as well.

The business section 210 of start display 200 also includes a pluralityof tiles which, when actuated by the user, cause the CRM system to takeaction. For instance, contact tile 216, when actuated by the user, opensa contact menu for the user. Opportunities tile 218, when actuated bythe user, opens opportunity records or an opportunities menu that allowsthe user to navigate to individual opportunity records. The “my leads”tile 220, when actuated by the user, causes the CRM system 100 to open amenu or records corresponding to leads for the given user. A news tile222 provides news about one or more items that have taken place in CRMsystem 100, and that are of interest to the user. In the example shownin FIG. 3A, tile 222 shows that an opportunity for the ACME Company hasbeen closed by another sales person. When the user actuates tile 222,the CRM system 100 navigates the user to additional information aboutthat closed opportunity. For instance, it may navigate the user to theopportunity record or to the sales record, or simply to the ACME Companygeneral record. The other tiles, when actuated by the user, cause theCRM system to navigate the user to other places of interest or to launchother components of the CRM system. Those displayed are shown for thesake of example only.

Once the CRM system is launched and the start screen is displayed, CRMsystem 100 then receives a user touch gesture to manipulate a contact inCRM system 100. This is indicated by block 153 in FIG. 2A. By way ofexample, the user can simply touch contacts tile 216. This causes CRMsystem 100 to display a contact menu that allows the user to take avariety of other actions, such as to open a contact 155, edit a contact157, add or delete contacts 159, initiate communication with one or morecontacts 161, schedule a meeting with a contact 163, touch a searchbutton to begin a search 191 for a contact, or perform other contactmanipulation steps 165. In response, CRM system 100 manipulates thecontact based on the touch gestures. This is indicated by block 167 inFIG. 2A.

It should also be noted that the user can manipulate contacts in otherways as well. For instance, instead of actuating contact tile 216, orone of the specific contacts represented by the photos or images on tile216, the user may open up other business data records in CRM system 100.Many of those business data records may have individual people, orcontacts, associated with them. Therefore, user 108 can manipulatecontacts from within those business data records as well.

FIG. 2B is a flow diagram illustrating one embodiment of this type ofcontact manipulation. The first two blocks in FIG. 2B are similar to thefirst two blocks shown in FIG. 2A, and they are similarly numbered.Therefore, at block 150, the user launches the CRM system and at block152 the CRM system displays a start display or wall or other CRM userinterface display.

In the embodiment shown in FIG. 2B, the user then provides a touchgesture to open a CRM record. FIG. 3B shows one example of this. In theembodiment shown in FIG. 3B, the user has illustratively actuated tile218, such as by touching it. In response, CRM system 100 displays anopportunities tile 224. Opportunities tile 224 is illustrativelyindicative of a new opportunity that has been created. The user thenactuates tile 224, using a touch gesture (e.g., by touching it) with hisor her finger 226. This causes CRM system 100 to open another userinterface display, such as user interface display 228 shown in FIG. 3C,corresponding to the newly created opportunity. Receiving the user inputto open the CRM record is indicated by block 154 in FIG. 2B, and havingthe CRM system 100 display the record is indicated by block 156.

FIG. 3C shows that the business record display 228 displays tiles orlinks (or other icons or user-actuatable items) that allow the user toview a variety of different kinds of information. For instance, display228 includes a “people” or “contact” tile 230. Tile 230 identifiespeople either at the organization for which the opportunity has beengenerated, or at the organization that employs the CRM system, that aresomehow related to the opportunity. By way of example, the opportunitytile 230 may link user 108 to other people in the company that employsthe CRM system, who are working on converting the opportunity into anactual sale. In addition, tile 230, when actuated by the user, maynavigate the user to contact information for individuals at the companyfor which the opportunity was developed. In any case, if the useractuates tile 230, the CRM system 100 illustratively navigates user 108to either a contact menu or a specific contact and allows the user tomanipulate the contact in a similar way as described above with respectto FIG. 2A. For instance, the user can open a contact, delete or editit, initiate communication, etc.

FIG. 3C also shows examples of other information that can be shown in abusiness data record. For instance, user interface display 228 includesa wide variety of actuable items that take the user to other informationcorresponding to the opportunity. Invoices tile 232, when actuated bythe user, navigates the user to another display where the user can viewinformation related to invoices that correspond to this opportunity.Quotes tile 234, when actuated by the user, navigates the user toadditional information about quotes generated for this company orsomehow related to this opportunity. Document tile 236 illustrativelynavigates the user to other related documents corresponding to thisopportunity, and activity tile 238 shows, in general, the amount ofactivity related to this opportunity. When the user actuates tile 238,CRM system 100 can navigate the user to additional displays showing thespecific activity represented by the tile 238.

User interface display 228 also illustratively includes a “What's new”section 240. What's new section 240 can display posts by user 108, orother users of the CRM system, that are related to the opportunity beingdisplayed.

In addition, as shown in FIG. 3C, display 228 is illustratively pannablein the directions indicated by arrow 242. By way of example, if the useruses his or her finger 226 and makes a swiping motion to the left or tothe right, display 228 illustratively pans to the left or to the rightbased on the touch gesture.

User interface display 228 also illustratively includes an informationsection 244 that displays a primary contact tile 246 corresponding to aprimary contact for this opportunity. A plurality of additional tiles248 are displayed below the primary contact tile 246, and provideinformation corresponding to the individual represented by primarycontact tile 246. The tiles 248, for instance, provide a preferredcontact method for the primary contact, an amount of revenue generatedby the primary contact, an indicator of the availability of the primarycontact, a reputation or rating for the primary contact, a date when theopportunity corresponding to the primary contact closes, and a creditlimit for the primary contact. Of course, all of the tiles 248 areexemplary only, and additional or different information corresponding tothe primary contact, or other information, can be displayed as well.

Since the opportunity record represented by user interface 228 has aprimary contact (or tile) 246 that represents the primary contact forthe displayed opportunity, the user can manipulate that contactinformation from within the opportunity business record displayed inuser interface display 228. If there were no contact informationcorresponding to the business opportunity displayed on display 220, CRMsystem 100 would illustratively provide a user input mechanism thatallows user 108 to navigate to contact information corresponding to thedisplayed business data record. Determining whether contact informationis displayed on the business data record represented by user interfacedisplay 228 is indicated by block 158 in FIG. 2B. If not, receiving theuser touch gesture to show contact information is indicated by block160.

As described above, in the embodiment shown in FIG. 3C, both the contacttile 230 and the primary contact tile 246 are shown in user interfacedisplay 228. Therefore, the user need not provide an additional touchgesture to see contact information.

FIG. 3C also shows that the user is using his or her finger 226 toactuate tile 246. Thus, user 108 is selecting primary contact 246, byactuating the corresponding tile. Receiving a touch gesture selecting acontact is indicated by block 162 in FIG. 2B.

Actuation of tile 146 causes CRM system 100 to generate another userinterface display that allows the user to manipulate the contactinformation. As described above with respect to FIG. 2A, this can take awide variety of different forms. However, in the embodiment discussedwith respect to FIG. 2B, actuating primary contact tile 246 causes CRMsystem 100 to generate a display, such as user interface display 250,shown in FIG. 3D. It can be seen that a number of the items in userinterface display 250 are the same as those shown in user interfacedisplay 228 in FIG. 3C, and they are similarly numbered. However, FIG.3D also shows that, since the user actuated tile 246, this causes CRMsystem 100 to display communication bar 252. Communication bar 252displays the specific contact options for the selected contact, who wasselected when the user actuated tile 246. Contact bar 252, itself,illustratively includes a plurality of user actuatable items each ofwhich represents a method for contacting the primary contact representedby tile 246. For instance, contact bar 252 includes phone button 166,email button 168, instant messenger button 170 and other button 172.Displaying the specific contact options for the selected contact isindicated by block 164 in FIG. 2B.

When the user actuates any of the buttons in contact bar 252, thiscauses CRM system 100 to illustratively initiate communication with theprimary contact using the selected method of communication. FIG. 3Dshows that the user 108 has used his or her finger 226 to actuate thephone button 166. In the embodiment shown, the user simply touchesbutton 166 to actuate it. Receiving the user touch gesture selecting acontact option is indicated by block 174 in FIG. 2B.

In response to the user actuating the phone button 166, communicationcomponent 114 in CRM system 100 illustratively initiates a phone call tothe primary contact “Phil B.” represented by tile 246 and generates asuitable user interface display indicating that the call has beeninitiated.

FIG. 3E shows one exemplary user interface display 300 that illustratesthis. It can be seen in display 300 that a phone call is underway toPhil B. This is indicated generally at 302. Display 300 shows theidentity of the person being called, an indication that it is a phonecall, and the elapsed time of the call. Of course, this information isexemplary only and a wide variety of additional or different informationcould be shown as well. In any case, user interface display 300illustrates that a call has been placed.

A number of other exemplary things are shown in display 300. A list ofobjectives to be accomplished are shown generally at 306. A status bar304 shows how many of the objectives for the phone call have beencompleted. The objectives listed are “product requirements”, “keydecision makers”, “budget”, and “notes”. In one embodiment, these arethe agenda items for the phone call. Of course, they may be simply “todo” items or a variety of other listed items as well.

FIG. 3E also shows that a soft keyboard is displayed generally at 308.This allows user 108 to type information into the text boxes at 306, orto otherwise enter alphanumeric information, using touch.

The communication (e.g., the telephone call) can proceed until one ofthe parties stops the communication. This can be done, in oneembodiment, by user 108 simply touching an appropriate button on theuser interface display. FIG. 3F shows one illustrative way of doingthis. FIG. 3F shows user interface display 310, which is similar to userinterface display 308 shown in FIG. 3E, and similar items are similarlynumbered. However, it can be seen in FIG. 3F that the parties to thecall have accomplished two of the agenda items, and therefore status bar304 shows that two out of four items have been completed. Display 310also shows that the user has touched a “hang up” button 312. Hang upbutton 312 allows user 108 to terminate the call, simply by actuatingbutton 312. Receiving a user touch gesture to end the communication isindicated by block 178 in FIG. 2B. In response, communication component114 of CRM system 100 hangs up the call, or disconnects the call, orotherwise discontinues the telephone communication. This is indicated byblock 180 in FIG. 2B.

It can thus be seen that a user can quickly and easily manipulatecontact information within a CRM system, or other business data system.When contact information is displayed, the user can use a touch gestureto manipulate it. This can make manipulation of contact information mucheasier and less cumbersome.

It will be noted that the touch gestures mentioned herein can take awide variety of different forms. They can be simple touches or taps,swipes, slides, multi-touch inputs, positional gestures (gestures at aspecific position or location on the screen), brushing, multi-fingergestures, touch and hold gestures, etc. The speed of the gestures can beused for control as well (e.g., a quick swipe can pan quickly while aslow swipe pans slowly, etc.). These and other gestures are allcontemplated herein.

FIG. 4 is a block diagram of system 100, shown in FIG. 1, except that itis disposed in a cloud computing architecture 500. Cloud computingprovides computation, software, data access, and storage services thatdo not require end-user knowledge of the physical location orconfiguration of the system that delivers the services. In variousembodiments, cloud computing delivers the services over a wide areanetwork, such as the internet, using appropriate protocols. Forinstance, cloud computing providers deliver applications over a widearea network and they can be accessed through a web browser or any othercomputing component. Software or components of system 100 as well as thecorresponding data, can be stored on servers at a remote location. Thecomputing resources in a cloud computing environment can be consolidatedat a remote data center location or they can be dispersed. Cloudcomputing infrastructures can deliver services through shared datacenters, even though they appear as a single point of access for theuser. Thus, the components and functions described herein can beprovided from a service provider at a remote location using a cloudcomputing architecture. Alternatively, they can be provided from aconventional server, or they can be installed on client devicesdirectly, or in other ways.

The description is intended to include both public cloud computing andprivate cloud computing. Cloud computing (both public and private)provides substantially seamless pooling of resources, as well as areduced need to manage and configure underlying hardware infrastructure.

A public cloud is managed by a vendor and typically supports multipleconsumers using the same infrastructure. Also, a public cloud, asopposed to a private cloud, can free up the end users from managing thehardware. A private cloud may be managed by the organization itself andthe infrastructure is typically not shared with other organizations. Theorganization still maintains the hardware to some extent, such asinstallations and repairs, etc.

In the embodiment shown in FIG. 4, some items are similar to those shownin FIG. 1 and they are similarly numbered. FIG. 4 specifically showsthat CRM system 100 (or, of course, another business data system such asan ERP system, LOB application, etc.) is located in cloud 502 (which canbe public, private, or a combination where portions are public whileothers are private). Therefore, user 108 uses a user device 104 toaccess those systems through cloud 502.

FIG. 4 also depicts another embodiment of a cloud architecture. FIG. 4shows that it is also contemplated that some elements of business system100 (or architecture 90) are disposed in cloud 502 while others are not.By way of example, data store 102 can be disposed inside of cloud 502(with CRM system 100) or outside of cloud 502, and accessed throughcloud 502. In another embodiment, communication component 114 is alsooutside of cloud 502. Regardless of where they are located, they can beaccessed directly by device 104, through a network (either a wide areanetwork or a local area network), they can be hosted at a remote site bya service, or they can be provided as a service through a cloud oraccessed by a connection service that resides in the cloud. All of thesearchitectures are contemplated herein.

It will also be noted that system 100, or portions of it, can bedisposed on a wide variety of different devices. Some of those devicesinclude servers, desktop computers, laptop computers, tablet computers,or other mobile devices, such as palm top computers, cell phones, smartphones, multimedia players, personal digital assistants, etc.

FIG. 5 is a simplified block diagram of one illustrative embodiment of ahandheld or mobile computing device that can be used as a user's orclient's hand held device 16 (e.g., device 104), in which the presentsystem (or parts of it) can be deployed. FIGS. 6-9 are examples ofhandheld or mobile devices.

FIG. 5 provides a general block diagram of the components of a clientdevice 16 that can run components of system 100 or that interacts withsystem 100, or both. In the device 16, a communications link 13 isprovided that allows the handheld device to communicate with othercomputing devices and under some embodiments provides a channel forreceiving information automatically, such as by scanning. Examples ofcommunications link 13 include an infrared port, a serial/USB port, acable network port such as an Ethernet port, and a wireless network portallowing communication though one or more communication protocolsincluding General Packet Radio Service (GPRS), LTE, HSPA, HSPA+ andother 3G and 4G radio protocols, 1Xrtt, and Short Message Service, whichare wireless services used to provide cellular access to a network, aswell as 802.11 and 802.11b (Wi-Fi) protocols, and Bluetooth protocol,which provide local wireless connections to networks.

Under other embodiments, applications or systems (like system 100) arereceived on a removable Secure Digital (SD) card that is connected to aSD card interface 15. SD card interface 15 and communication links 13communicate with a processor 17 (which can also embody processor 146from FIG. 1) along a bus 19 that is also connected to memory 21 andinput/output (I/O) components 23, as well as clock 25 and locationsystem 27. I/O components 23, in one embodiment, are provided tofacilitate input and output operations. I/O components 23 for variousembodiments of the device 16 can include input components such asbuttons, touch sensors, multi-touch sensors, optical or video sensors,voice sensors, touch screens, proximity sensors, microphones, tiltsensors, and gravity switches and output components such as a displaydevice, a speaker, and or a printer port. Other I/O components 23 can beused as well.

Clock 25 illustratively comprises a real time clock component thatoutputs a time and date. It can also, illustratively, provide timingfunctions for processor 17.

Location system 27 illustratively includes a component that outputs acurrent geographical location of device 16. This can include, forinstance, a global positioning system (GPS) receiver, a LORAN system, adead reckoning system, a cellular triangulation system, or otherpositioning system. It can also include, for example, mapping softwareor navigation software that generates desired maps, navigation routesand other geographic functions.

Memory 21 stores operating system 29, network settings 31, applications33, application configuration settings 35, data store 37, communicationdrivers 39, and communication configuration settings 41. Memory 21 caninclude all types of tangible volatile and non-volatilecomputer-readable memory devices. It can also include computer storagemedia (described below). Memory 21 stores computer readable instructionsthat, when executed by processor 17, cause the processor to performcomputer-implemented steps or functions according to the instructions.System 100 or the items in data store 102, for example, can reside inmemory 21. Similarly, device 16 can have a client business system 24(e.g., client CRM system 144) which can run various businessapplications or embody parts or all of business system 100. Processor 17can be activated by other components to facilitate their functionalityas well.

Examples of the network settings 31 include things such as proxyinformation, Internet connection information, and mappings. Applicationconfiguration settings 35 include settings that tailor the applicationfor a specific enterprise or user. Communication configuration settings41 provide parameters for communicating with other computers and includeitems such as GPRS parameters, SMS parameters, connection user names andpasswords.

Applications 33 can be applications that have previously been stored onthe device 16 or applications that are installed during use, althoughthese can be part of operating system 29, or hosted external to device16, as well.

FIG. 6 shows one embodiment in which device 16 is a tablet computer 600(also shown in FIGS. 3A-3F). Screen 602 can be a touch screen (so touchgestures from a user's finger can be used to interact with theapplication) or a pen-enabled interface that receives inputs from a penor stylus. It can also use an on-screen virtual keyboard. Of course, itmight also be attached to a keyboard or other user input device througha suitable attachment mechanism, such as a wireless link or USB port,for instance. Computer 600 can also illustratively receive voice inputsas well.

FIGS. 7, 8 and 9 provide additional examples of devices 16 that can beused, although others can be used as well. In FIG. 7, a mobile phone 45(or feature phone) is provided as the device 16. Phone 45 includes a setof keypads 47 for dialing phone numbers, a display 49 capable ofdisplaying images including application images, icons, web pages,photographs, and video, and control buttons 51 for selecting items shownon the display. The phone includes an antenna 53 for receiving cellularphone signals such as General Packet Radio Service (GPRS) and 1Xrtt, andShort Message Service (SMS) signals. In some embodiments, phone 45 alsoincludes a Secure Digital (SD) card slot 55 that accepts a SD card 57.

The mobile device of FIG. 8 is a personal digital assistant (PDA) 59 ora multimedia player or a tablet computing device, etc. (hereinafterreferred to as PDA 59). PDA 59 includes an inductive screen 61 thatsenses the position of a stylus 63 (or other pointers, such as a user'sfinger) when the stylus is positioned over the screen. This allows theuser to select, highlight, and move items on the screen as well as drawand write. PDA 59 also includes a number of user input keys or buttons(such as button 65) which allow the user to scroll through menu optionsor other display options which are displayed on display 61, and allowthe user to change applications or select user input functions, withoutcontacting display 61. Although not shown, PDA 59 can include aninternal antenna and an infrared transmitter/receiver that allow forwireless communication with other computers as well as connection portsthat allow for hardware connections to other computing devices. Suchhardware connections are typically made through a cradle that connectsto the other computer through a serial or USB port. As such, theseconnections are non-network connections. In one embodiment, mobiledevice 59 also includes a SD card slot 67 that accepts a SD card 69.

FIG. 9 is similar to FIG. 8 except that the phone is a smart phone 71.Smart phone 71 has a touch sensitive display 73 that displays icons ortiles or other user input mechanisms 75. Mechanisms 75 can be used by auser to access a business data system (like CRM system 100) runapplications, make calls, perform data transfer operations, etc. Ingeneral, smart phone 71 is built on a mobile operating system and offersmore advanced computing capability and connectivity than a featurephone.

Note that other forms of the devices 16 are possible.

FIG. 10 is one embodiment of a computing environment in which system 100(for example) can be deployed. With reference to FIG. 10, an exemplarysystem for implementing some embodiments includes a general-purposecomputing device in the form of a computer 810. Components of computer810 may include, but are not limited to, a processing unit 820 (whichcan comprise processor 110), a system memory 830, and a system bus 821that couples various system components including the system memory tothe processing unit 820. The system bus 821 may be any of several typesof bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus. Memory and programsdescribed with respect to FIG. 1 can be deployed in correspondingportions of FIG. 10.

Computer 810 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 810 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media is different from, anddoes not include, a modulated data signal or carrier wave. It includeshardware storage media including both volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by computer 810. Communication media typically embodiescomputer readable instructions, data structures, program modules orother data in a transport mechanism and includes any informationdelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of any of the aboveshould also be included within the scope of computer readable media.

The system memory 830 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 831and random access memory (RAM) 832. A basic input/output system 833(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 810, such as during start-up, istypically stored in ROM 831. RAM 832 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 820. By way of example, and notlimitation, FIG. 10 illustrates operating system 834, applicationprograms 835, other program modules 836, and program data 837.

The computer 810 may also include other removable/non-removablevolatile/nonvolatile computer storage media. By way of example only,FIG. 10 illustrates a hard disk drive 841 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 851that reads from or writes to a removable, nonvolatile magnetic disk 852,and an optical disk drive 855 that reads from or writes to a removable,nonvolatile optical disk 856 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 841 is typically connectedto the system bus 821 through a non-removable memory interface such asinterface 840, and magnetic disk drive 851 and optical disk drive 855are typically connected to the system bus 821 by a removable memoryinterface, such as interface 850.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 10, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 810. In FIG. 10, for example, hard disk drive 841 isillustrated as storing operating system 844, application programs 845,other program modules 846, and program data 847. Note that thesecomponents can either be the same as or different from operating system834, application programs 835, other program modules 836, and programdata 837. Operating system 844, application programs 845, other programmodules 846, and program data 847 are given different numbers here toillustrate that, at a minimum, they are different copies.

A user may enter commands and information into the computer 810 throughinput devices such as a keyboard 862, a microphone 863, and a pointingdevice 861, such as a mouse, trackball or touch pad. Other input devices(not shown) may include a joystick, game pad, satellite dish, scanner,or the like. These and other input devices are often connected to theprocessing unit 820 through a user input interface 860 that is coupledto the system bus, but may be connected by other interface and busstructures, such as a parallel port, game port or a universal serial bus(USB). A visual display 891 or other type of display device is alsoconnected to the system bus 821 via an interface, such as a videointerface 890. In addition to the monitor, computers may also includeother peripheral output devices such as speakers 897 and printer 896,which may be connected through an output peripheral interface 895.

The computer 810 is operated in a networked environment using logicalconnections to one or more remote computers, such as a remote computer880. The remote computer 880 may be a personal computer, a hand-helddevice, a server, a router, a network PC, a peer device or other commonnetwork node, and typically includes many or all of the elementsdescribed above relative to the computer 810. The logical connectionsdepicted in FIG. 10 include a local area network (LAN) 871 and a widearea network (WAN) 873, but may also include other networks. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 810 is connectedto the LAN 871 through a network interface or adapter 870. When used ina WAN networking environment, the computer 810 typically includes amodem 872 or other means for establishing communications over the WAN873, such as the Internet. The modem 872, which may be internal orexternal, may be connected to the system bus 821 via the user inputinterface 860, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 810, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 10 illustrates remoteapplication programs 885 as residing on remote computer 880. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

It should also be noted that features from different embodiments can becombined. That is, one or more features from one embodiment can becombined with one or more features of other embodiments. This iscontemplated herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A computer-implemented method of manipulatingcontact information in a business data system, comprising: displaying auser interface display showing business information, from the businessdata system; receiving a user touch gesture on the user interfacedisplay, to manipulate contact information in the business data system;and manipulating the contact information in the business data systembased on the user touch gesture.
 2. The computer-implemented method ofclaim 1 wherein displaying a user interface display comprises:displaying a user actuatable contact user input mechanism showing acontact in the business data system.
 3. The computer-implemented methodof claim 2 wherein receiving the user touch gesture comprises: receivinga user touch on the contact user input mechanism.
 4. Thecomputer-implemented method of claim 3 wherein manipulating the contactinformation comprises: accessing additional contact informationcorresponding to the contact; and displaying the additional contactinformation.
 5. The computer-implemented method of claim 4 wherein theadditional contact information comprises a plurality of contact optionsfor the contact and wherein displaying the additional contactinformation comprises: displaying a user actuatable input mechanismcorresponding to each of the contact options.
 6. Thecomputer-implemented method of claim 5 and further comprising: receivinga user touch gesture on a given one of the input mechanismscorresponding to a given contact option; and initiating communicationwith the contact using the given contact option.
 7. Thecomputer-implemented method of claim 1 wherein receiving a user touchgesture to manipulate contact information comprises: receiving a usertouch gesture requesting a business data record from the business datasystem; and displaying the business data record with a contact userinput mechanism for a contact corresponding to the business data record.8. The computer-implemented method of claim 7 wherein receiving a usertouch gesture to manipulate contact information further comprises:receiving a user touch gesture actuating the contact user inputmechanism on the business data record.
 9. The computer-implementedmethod of claim 8 wherein displaying the business data record with thecontact user-input mechanism for the contact, comprises: displaying acontact menu with an input mechanism corresponding to a contact searchmechanism, and wherein receiving the user touch gesture actuating thecontact user input mechanism comprises receiving a touch gestureinitiating a search for a specific contact.
 10. The computer-implementedmethod of claim 8 wherein receiving a user touch gesture to manipulatecontact information further comprises: receiving the user touch gestureto perform one of adding, deleting or editing the contact information.11. The computer-implemented method of claim 8 wherein receiving a usertouch gesture to manipulate contact information further comprises:receiving the user touch gesture to initiate communication with anentity represented by the contact information.
 12. Thecomputer-implemented method of claim 8 wherein receiving a user touchgesture to manipulate contact information further comprises: receivingthe user touch gesture to schedule a meeting with an entity representedby the contact information.
 13. A business data system, comprising: auser interface component; a business data component generating a userinterface display, using the user interface component, showing abusiness data record with a user input mechanism showing a contactcorresponding to the business data record, receiving a user touchgesture through the user input mechanism to manipulate contactinformation for the contact and manipulating the contact information inthe business data system based on the touch gesture; and a computerprocessor being a functional part of the business data system andactivated by the user interface component and the business datacomponent to facilitate generating the user interface display, receivingthe touch gesture and manipulating the contact information.
 14. Thebusiness data system of claim 13 and further comprising: a communicationcomponent, the touch gesture initiating communication with the contact,using the communication component.
 15. The business data system of claim14 wherein the business data component displays a communication inputmechanism representing a communication option for communicating with thecontact, and wherein the touch gesture actuates the communication inputmechanism, the communication component initiating communication with thecontact using the communication option represented by the communicationinput mechanism.
 16. The business data system of claim 15 wherein thecommunication option comprises a selected one of electronic mail,telephone, cellular telephone, and instant messaging.
 17. The businessdata system of claim 13 wherein the business data component manipulatesthe contact information, based on the user touch gesture by performingone of adding contact information, deleting contact information, editingcontact information and displaying additional contact information.
 18. Amobile device, comprising: a touch sensitive display screen; a userinterface component displaying a user interface display from a businessdata system on the touch sensitive display screen and receiving a usertouch gesture through the user interface display; a business datacomponent manipulating contact information in the business data systembased on the touch gesture; and a computer processor being a functionalcomponent of the mobile device and activated by the user interfacecomponent and the business data component to facilitate displaying,receiving the user touch gesture, and manipulating the contactinformation.
 19. The mobile device of claim 18 wherein the userinterface component receives a touch gesture requesting display of abusiness data record from the business data system, the business datarecord including contact information for a contact corresponding to thebusiness data record.
 20. The mobile device of claim 19 wherein thebusiness data component manipulates the contact information by at leastone of initiating communication with the contact or scheduling a meetingwith the contact.